package com.weiyuwqj.api.model.vo;

import java.math.BigDecimal;
import java.util.Date;

/**
 * Created by Administrator on 2017/4/9.
 */
public interface RepayAble {
    /**
     * 获取主键
     *
     * @return id - 主键
     */
    Integer getId();

    /**
     * 设置主键
     *
     * @param id 主键
     */
    void setId(Integer id);

    /**
     * 获取外键
     *
     * @return item_id - 外键
     */
    Integer getItemId();

    /**
     * 设置外键
     *
     * @param itemId 外键
     */
    void setItemId(Integer itemId);

    /**
     * 获取投资用户ID，不做外键
     *
     * @return repay_user_id - 投资用户ID，不做外键
     */
    Integer getRepayUserId();

    /**
     * 设置投资用户ID，不做外键
     *
     * @param repayUserId 投资用户ID，不做外键
     */
    void setRepayUserId(Integer repayUserId);

    /**
     * 获取还款状态:0-未还款1-借款人还款2-担保公司还款3-还款审核
     *
     * @return status - 还款状态:0-未还款1-借款人还款2-担保公司还款3-还款审核
     */
    Integer getStatus();

    /**
     * 设置还款状态:0-未还款1-借款人还款2-担保公司还款3-还款审核
     *
     * @param status 还款状态:0-未还款1-借款人还款2-担保公司还款3-还款审核
     */
    void setStatus(Integer status);

    /**
     * 获取当前期数
     *
     * @return repay_current_period - 当前期数
     */
    Integer getRepayCurrentPeriod();

    /**
     * 设置当前期数
     *
     * @param repayCurrentPeriod 当前期数
     */
    void setRepayCurrentPeriod(Integer repayCurrentPeriod);

    /**
     * 获取总期数
     *
     * @return repay_total_period - 总期数
     */
    Integer getRepayTotalPeriod();

    /**
     * 设置总期数
     *
     * @param repayTotalPeriod 总期数
     */
    void setRepayTotalPeriod(Integer repayTotalPeriod);

    /**
     * 获取应还总额
     *
     * @return repay_amount - 应还总额
     */
    BigDecimal getRepayAmount();

    /**
     * 设置应还总额
     *
     * @param repayAmount 应还总额
     */
    void setRepayAmount(BigDecimal repayAmount);

    /**
     * 获取应还本金
     *
     * @return repay_principal - 应还本金
     */
    BigDecimal getRepayPrincipal();

    /**
     * 设置应还本金
     *
     * @param repayPrincipal 应还本金
     */
    void setRepayPrincipal(BigDecimal repayPrincipal);

    /**
     * 获取应还利息
     *
     * @return repay_interest - 应还利息
     */
    BigDecimal getRepayInterest();

    /**
     * 设置应还利息
     *
     * @param repayInterest 应还利息
     */
    void setRepayInterest(BigDecimal repayInterest);

    /**
     * 获取应还时间
     *
     * @return repay_time - 应还时间
     */
    Date getRepayTime();

    /**
     * 设置应还时间
     *
     * @param repayTime 应还时间
     */
    void setRepayTime(Date repayTime);

    /**
     * 获取实际已还总额
     *
     * @return actual_repay_amount - 实际已还总额
     */
    BigDecimal getActualRepayAmount();

    /**
     * 设置实际已还总额
     *
     * @param actualRepayAmount 实际已还总额
     */
    void setActualRepayAmount(BigDecimal actualRepayAmount);

    /**
     * 获取实际已还本金
     *
     * @return actual_repay_principal - 实际已还本金
     */
    BigDecimal getActualRepayPrincipal();

    /**
     * 设置实际已还本金
     *
     * @param actualRepayPrincipal 实际已还本金
     */
    void setActualRepayPrincipal(BigDecimal actualRepayPrincipal);

    /**
     * 获取实际已还利息
     *
     * @return actual_repay_interest - 实际已还利息
     */
    BigDecimal getActualRepayInterest();

    /**
     * 设置实际已还利息
     *
     * @param actualRepayInterest 实际已还利息
     */
    void setActualRepayInterest(BigDecimal actualRepayInterest);

    /**
     * 获取实际已还时间
     *
     * @return actual_repay_time - 实际已还时间
     */
    Date getActualRepayTime();

    /**
     * 设置实际已还时间
     *
     * @param actualRepayTime 实际已还时间
     */
    void setActualRepayTime(Date actualRepayTime);

    /**
     * 获取加息券收益
     *
     * @return additional_rate_amount - 加息券收益
     */
    BigDecimal getAdditionalRateAmount();

    /**
     * 设置加息券收益
     *
     * @param additionalRateAmount 加息券收益
     */
    void setAdditionalRateAmount(BigDecimal additionalRateAmount);

    /**
     * 获取服务费
     *
     * @return serve_amount - 服务费
     */
    BigDecimal getServeAmount();

    /**
     * 设置服务费
     *
     * @param serveAmount 服务费
     */
    void setServeAmount(BigDecimal serveAmount);

    /**
     * 获取提前还款需要支付的服务费
     *
     * @return prepayment_server_amount - 提前还款需要支付的服务费
     */
    BigDecimal getPrepaymentServerAmount();

    /**
     * 设置提前还款需要支付的服务费
     *
     * @param prepaymentServerAmount 提前还款需要支付的服务费
     */
    void setPrepaymentServerAmount(BigDecimal prepaymentServerAmount);

    /**
     * 获取提前还款需要支付的违约金
     *
     * @return prepayment_dedit - 提前还款需要支付的违约金
     */
    BigDecimal getPrepaymentDedit();

    /**
     * 设置提前还款需要支付的违约金
     *
     * @param prepaymentDedit 提前还款需要支付的违约金
     */
    void setPrepaymentDedit(BigDecimal prepaymentDedit);

    /**
     * 获取 订单编号
     */
    String getOrderNo();

    /**
     * 设置 订单编号
     */
    void setOrderNo(String orderNo);

    String getPlatformId();

    void setPlatformId(String platformId);
}
